﻿/****************************************************************
*   作者：Schme
*   CLR版本：4.0.30319.42000
*   创建时间：2017/4/6 9:17:16
*   2017
*   描述说明：会员信息
*
*   修改历史：
*
*
*****************************************************************/
using Abp.Domain.Entities;
using Abp.Domain.Entities.Auditing;
using Mt.Site.Core.Base.Domain.Entities;
using System;
using System.ComponentModel.DataAnnotations;

namespace Mt.Site.Core.Members
{
    public class MemberInfo : FullAuditedEntity<Guid>, IMustHaveTenant, ILanguage
    {
        public const int MaxNameLength = 50;
        public const int MaxCompanyLength = 50;
        public const int MaxPhoneLength = 15;
        public const int MaxTelLength = 15;
        public const int MaxZipCodeLength = 10;
        public const int MaxCountryLength = 50;
        public const int MaxFaxLength = 15;
        public const int MaxSexLength = 5;
        public const int MaxJobTitleLength = 50;
        public const int MaxLanguageLength = 50;
        public const int MaxAddressLength = 100;
        public const int MaxAreaLength = 20;

        /// <summary>
        /// 会员ID
        /// </summary>
        public virtual Guid MemberID { get; set; }

        /// <summary>
        /// 名
        /// </summary>
        [StringLength(MaxNameLength)]
        public virtual string FirstName { get; set; }

        /// <summary>
        /// 姓
        /// </summary>
        [StringLength(MaxNameLength)]
        public virtual string LastName { get; set; }

        /// <summary>
        /// 姓名
        /// </summary>
        [StringLength(MaxNameLength)]
        public virtual string FullName { get; set; }

        /// <summary>
        /// 手机
        /// </summary>
        [StringLength(MaxPhoneLength)]
        public virtual string Phone { get; set; }

        /// <summary>
        /// 性别
        /// </summary>
        [StringLength(MaxSexLength)]
        public virtual string Sex { get; set; }
        
        /// <summary>
        /// 公司
        /// </summary>
        [StringLength(MaxCompanyLength)]
        public virtual string Company { get; set; }


        /// <summary>
        /// 电话
        /// </summary>
        [StringLength(MaxTelLength)]
        public virtual string Tel { get; set; }

        /// <summary>
        /// 邮编
        /// </summary>
        [StringLength(MaxZipCodeLength)]
        public virtual string ZipCode { get; set; }
        

        /// <summary>
        /// 职位
        /// </summary>
        [StringLength(MaxJobTitleLength)]
        public virtual string JobTitle { get; set; }
        
        /// <summary>
        /// 地址
        /// </summary>
        [StringLength(MaxAddressLength)]
        public virtual string Address { get; set; }

        /// <summary>
        /// 地址1
        /// </summary>
        [StringLength(MaxAddressLength)]
        public virtual string Address1 { get; set; }

        /// <summary>
        /// 国家
        /// </summary>
        [StringLength(MaxCountryLength)]
        public virtual string Country { get; set; }
                
        /// <summary>
        /// 网页
        /// </summary>
        [StringLength(100)]
        public virtual string WebPage { get; set; }
        
        /// <summary>
        /// 省份
        /// </summary>
        [StringLength(MaxAreaLength)]
        public virtual string Province { get; set; }

        /// <summary>
        /// 市
        /// </summary>
        [StringLength(MaxAreaLength)]
        public virtual string City { get; set; }

        /// <summary>
        /// 传真
        /// </summary>
        [StringLength(MaxFaxLength)]
        public virtual string Fax { get; set; }
                
        /// <summary>
        /// 备注
        /// </summary>
        public virtual string Remark { get; set; }
        
        /// <summary>
        /// 租户ID
        /// </summary>
        public int TenantId { get; set; }
        
        /// <summary>
        /// 语言版本
        /// </summary>
        [StringLength(MaxLanguageLength)]
        public string Language { get; set; }   
    }
}
